First-year results from a research program on human factors in software engineering
نویسنده
چکیده
For the past two years the Software Management Research U nit at General Electric has been investigating several areas of human factors in software engineering with support from Engineering Psychology Programs of the Office of Naval Research. There have been two major thrusts in this research. The first thrust investigated the effects of several modern programming practices on programmer efficiency. The second thrust investigated the prediction of programmer performance from software complexity metrics such as those proposed by Halstead and McCabe. This research program consisted of separate experiments on the understanding, modification, debugging, and construction of software, each using professional programmers. Each experiment investigated both the effects of experimentally manipulated programming practices, and the values of complexity metrics computed from the programs employed. Structured coding techniques, mnemonic variable names and commenting are programming practices which supposedly reduce the complexity of software. Dijkstra4 contended that program construction should proceed in a structured, top-down fashion. By limiting the control structures allowed, he assumed that the simplified control flow would make functions performed by the program easier to trace. Mnemonic variable names supposedly simplify the cognitive task of understanding a program by reducing the memory load on a programmer. The inclusion of comments purportedly simplifies modification tasks, although there are different methods of commenting. Global comments preceding a program summarize what objectives are accomplished, whiie in-line comments deiineate how and where the objectives are fulfilled. In 1972 Halstead first published his theory of software physics (renamed software science) stating that algorithms have measurable characteristics analogous to physical laws. These characteristics provide one assessment of program complexity. According to Halstead, 13.14.16.18 the amount of mentai effort required to generate a program can be calculated from simple counts of distinct operators and uperands and the total frequencies of operators and operands. From these four quantities Halstead derives the number of mental comparisons required to generate a program. Correlations
منابع مشابه
Human factors in software development: On its underlying theories and the value of learning from related disciplines. A guest editorial introduction to the special issue
Human factors play a very important role in Software Development [1]. According to Avison et al. [2] ‘‘Failure to include human factors may explain some of the dissatisfaction with conventional information systems development methodologies; they do not address real organizations’’ (p95 [2]). Software development has been characterized in essence as a human activity [3] where human factors play ...
متن کاملHuman factors in software development: On its underlying theories and the value of learning from related disciplines. A guest editorial introduction to the special issue
Human factors play a very important role in Software Development [1]. According to Avison et al. [2] ‘‘Failure to include human factors may explain some of the dissatisfaction with conventional information systems development methodologies; they do not address real organizations’’ (p95 [2]). Software development has been characterized in essence as a human activity [3] where human factors play ...
متن کاملA Study on the Management of Software Engineering Capabilities in Japan Using Panel Analysis
We designed a survey on software engineering excellence (SEE) and administered it in 2005, 2006 and 2007 with the Japanese Ministry of Economy, Trade and Industry to better understand the mechanism of how software engineering capabilities relate to IT vendors’ business performance and business environment. We measured the SEE survey results with regard to seven factors: deliverables, project ma...
متن کاملA Study on Relationships Among Software Engineering Capabilities in Japan Using Panel Analysis
To understand how software engineering capabilities relate to IT vendors’ business performance and business environment, the author designed social research on software engineering excellence (SEE) and administered it in 2005, 2006 and 2007 with the Japanese Ministry of Economy, Trade and Industry. The author measured the SEE survey results with regard to seven factors including service science...
متن کاملUsing Program Slicing Technique to Reduce the Cost of Software Testing
Systems of computers and their application in the lives of modern human beings are vastly expanding. In any kind of computer application, failure in computer systems can lead to a range of financial and mortal losses. Indeed, the major origin of software failure can be located in designing or implementing software. With regard to these statistics, 30% of the software projects have been prospero...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2010